package com.exm.sql.config;

import com.exm.sql.filter.TokenFilter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class FilterConfig {
    private final TokenFilter tokenFilter;

    @Autowired
    public FilterConfig(TokenFilter tokenFilter){
        this.tokenFilter = tokenFilter;
    }
    @Bean
    public FilterRegistrationBean<TokenFilter> registToeknFilter() {
        // 创建一个 FilterRegistrationBean 实例，泛型类型为 MyFilter
        FilterRegistrationBean<TokenFilter> registrationBean = new FilterRegistrationBean<>();
        // 设置需要注册的过滤器对象，即 myFilter（假设是已经定义好的 MyFilter 实例）
        registrationBean.setFilter(tokenFilter);
        // 添加 URL 模式，即这个过滤器将会拦截哪些 URL 请求。这里是拦截所有的请求（/*）
        registrationBean.addUrlPatterns("/*");
        // 设置过滤器的优先级，值越小优先级越高。这里设置优先级为 1。
        registrationBean.setOrder(1);

        // 返回 FilterRegistrationBean 实例
        return registrationBean;
    }

}